﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Space_Conquest
{
    /// <summary>
    /// Input interface, should be implemented by anything that receives keyboard / mouse input
    /// </summary>
    interface IInput
    {

        /// <summary>
        /// Mouse button is pressed down
        /// </summary>
        /// <param name="button"></param>
        /// <param name="x"></param>
        /// <param name="y"></param>
        bool MouseDown(MouseButtons button, int x, int y);

        /// <summary>
        /// Mouse buttons is let up
        /// </summary>
        /// <param name="button"></param>
        /// <param name="x"></param>
        /// <param name="y"></param>
        bool MouseUp(MouseButtons button, int x, int y);

        /// <summary>
        /// Mouse cursor is moved on screen
        /// </summary>
        /// <param name="x"></param>
        /// <param name="y"></param>
        bool MouseMove(int x, int y);

        /// <summary>
        /// A key is pressed down
        /// </summary>
        /// <param name="key"></param>
        /// <param name="shift"></param>
        bool KeyDown(Keys key, bool shift);

        /// <summary>
        /// A key is let up
        /// </summary>
        /// <param name="key"></param>
        /// <param name="shift"></param>
        bool KeyUp(Keys key, bool shift);

    }
}
